package info.peigen.hotpot.component.doc.core.annotation;

import info.peigen.hotpot.component.doc.core.enums.HotpotDocApiType;

import java.lang.annotation.*;

/**
 * <b>(Api)</b>
 * <p>
 * 针对Api服务生成文档的注解
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2023/12/1
 */
@SuppressWarnings("rawtypes")
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Api {
    /** Api 名 */
    String name();

    /** Api 调用Code */
    String code();

    /** Api 类型 */
    HotpotDocApiType type() default HotpotDocApiType.Command;

    /** Api 描述 */
    String description() default "";

    /** 请求类 */
    Class order();

    /** 响应类 */
    Class result();
}
